

$(function () {
  let params = {
    // key	string	搜索关键词，可以为空，为空返回某类型所有文章
    key: '',
    // type	string	文章类型id，可以为空，为空返回所有类型文章
    type: '',
    // state	string	文章状态，草稿 ，已发布, 为空返回所有状态文章
    state: '',
    // page	number	当前页，为空返回第1页
    page: 1,
    // perpage	number	每页显示条数，为空默认每页6条
    perpage: 10
  }
  articleList();
  // 获取文章列表
  function articleList() {
    $.ajax({
      url: 'http://localhost:8080/api/v1/admin/article/query',
      data: params,
      headers: {
        Authorization: localStorage.getItem('token')
      },
      success: function (res) {
        const data = res.data.data;

        render(res.data.totalCount);
        $('tbody').html(template('tpl', { data }));

      }
    })
  }

  // 分页器
  function render(total) {
    const laypage = layui.laypage;

    //执行一个laypage实例
    laypage.render({
      elem: 'pager', //注意，这里的 test1 是 ID，不用加 # 号
      count: total, //数据总数，从服务端得到
      limit: params.perpage,
      curr: params.page,
      jump: function (obj, first) {
        //obj包含了当前分页的所有参数，比如：

        //首次不执行
        if (!first) {
          console.log('渲染的' + params.page);
          params.page = obj.curr;
          articleList();
        }
      }
    });
  }

  // 获取动态获取文章分类
  articleType();
  function articleType() {
    $.ajax({
      url: 'http://localhost:8080/api/v1/admin/category/list',
      headers: {
        Authorization: localStorage.getItem('token')
      },
      success: function (res) {
        let html = res.data.reduce((html, value) => html += `<option value=${value.id}>${value.name}</option>`, '<option value="">所有分类</option>');
        $('#selCategory').html(html);
      }
    })
  }


  // 文章筛选
  $('#btnSearch').on('click', function () {
    // 筛选条件
    params.key = $('#aname').val();
    params.type = $('#selCategory').val();
    params.state = $('#selStatus').val();
    // 重置页码
    params.page = 1;
    // 重新渲染
    articleList();
  });

  // 筛选重置
  $('#reset').on('click', function () {
    $('#aname').val('');
    $('#selCategory').val('');
    $('#selStatus').val('');
    params = {
      key: '',
      type: '',
      state: '',
      page: 1,
      perpage: 10
    }
    articleList();

  });

  // 文章编辑
  $('tbody').on('click', '.edit', function() {
    console.log($(this).data('id'));
    console.log(this.href);
  })

  // 删除文章
  $('tbody').on('click', '.delete', function () {
    console.log('id:' + $(this).prev().data('id'));
    let id = $(this).prev().data('id');
    layer.confirm('确认要删除文章吗', function () {
      $.ajax({
        url: 'http://localhost:8080/api/v1/admin/article/delete',
        headers: {
          Authorization: localStorage.getItem('token')
        },
        type: 'post',
        data: { id },
        success: function () {
          articleList();
          layer.msg('删除文章成功', { time: 1000 });
        }
      })
    })
  })

})